<?php
require_once 'ConfigClement.php';

class Banque
{
	
	private  $id;
	private  $nom;
	private  $adress;
	private  $phone;
	private  $mail;
	private  $login;
	private  $password;

	public function __construct($nom, $adress, $phone, $mail, $login, $password){
		$this->nom = $nom;
		$this->adress = $adress;
		$this->phone = $phone;
		$this->mail = $mail;
		$this->login = $login;
		$this->password = $password;
	}
	
   public function __set($attr,$value)
   {
       if(isset($this->$attr)) $this->$attr = $value;
       else throw new Exception('Unknow attribute '.$attr);
   }
   
   public function __get($attr)
   {
      if(isset($this->$attr)) return $this->$attr;
      else throw new Exception('Unknow attribute '.$attr);
   }

	public static function getBanqueByLoginAndPassword($login, $password)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "SELECT * FROM banque WHERE login = '$login' and password = '$password'";
			$resultat = mysql_query ($requete);
			
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}

			while ($ligne = mysql_fetch_assoc($resultat)) {
				$banque = new Banque($ligne['nom'], $ligne['adress'], $ligne['phone'], $ligne['mail'], $ligne['login'], $ligne['password']);
				$banque->id = $ligne['id'];
			}
			
			
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
		
		return $banque;

	
	}
	
	public static function getBanqueByLogin($login)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$listBanque = array();
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT * FROM banque WHERE login = '$login'";
			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
			while ($ligne = mysql_fetch_assoc($resultat)) {
				$banque = new Banque($ligne['nom'], $ligne['adress'], $ligne['phone'], $ligne['mail'], $ligne['login'], $ligne['password']);
				$banque->id = $ligne['id'];
				array_push($listBanque,$banque);
			}
				
				
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $listBanque;
	
	
	}
	
	public static function getBanqueById($id)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT * FROM banque WHERE id = $id";
			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
			while ($ligne = mysql_fetch_assoc($resultat)) {
				$banque = new Banque($ligne['nom'], $ligne['adress'], $ligne['phone'], $ligne['mail'], $ligne['login'], $ligne['password']);
				$banque->id = $ligne['id'];
			}
				
				
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $banque;
	
	
	}
	
	public static function getListBanqueByKeyword($key)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		
		$listBanque = array();
		
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT * FROM banque WHERE nom like '%$key%'";
			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'ex�cuter la requ�te  dans la base : " . mysql_error();
				exit;
			}
	
			while ($ligne = mysql_fetch_assoc($resultat)) {
				$banque = new Banque($ligne['nom'], $ligne['adress'], $ligne['phone'], $ligne['mail'], $ligne['login'], $ligne['password']);
				$banque->id = $ligne['id'];
				array_push($listBanque,$banque);
			}
				
				
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $listBanque;
	
	
	}
	
	
	public static function getListAllBanque()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
	
		$listBanque = array();
	
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT * FROM banque";
			$resultat = mysql_query ($requete);
	
			if (!$resultat) {
				echo "Impossible d'ex�cuter la requ�te  dans la base : " . mysql_error();
				exit;
			}
	
			while ($ligne = mysql_fetch_assoc($resultat)) {
				$banque = new Banque($ligne['nom'], $ligne['adress'], $ligne['phone'], $ligne['mail'], $ligne['login'], $ligne['password']);
				$banque->id = $ligne['id'];
				array_push($listBanque,$banque);
			}
	
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $listBanque;
	
	
	}
	
	public function saveBanque()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "INSERT INTO banque (nom, adress, phone, mail, login, password) VALUES('$this->nom','$this->adress','$this->phone','$this->mail','$this->login','$this->password')";
			$resultat = mysql_query ($requete);
			
			if (!$resultat) {
				echo "Impossible d'ex�cuter la requ�te  dans la base : " . mysql_error();
				exit;
			}
			
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
	
	
	}
	
	public function setAllValueBanque($nom, $adress, $phone, $mail, $login, $password){
		$this->nom = $nom;
		$this->adress = $adress;
		$this->phone = $phone;
		$this->mail = $mail;
		$this->login = $login;
		$this->password = $password;
	}
	
	public function updateBanque()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$banque;
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "UPDATE banque SET nom = '$this->nom', adress = '$this->adress' , phone ='$this->phone', mail = '$this->mail', password ='$this->password' where id = '$this->id'";

			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
				
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
	
	}
	
	public function getTotalPrimeAssurance()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$somme = 0;

		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "SELECT SUM(prime_assurance) as somme FROM comptabilite, dossier, emprunt  WHERE emprunt.id = comptabilite.id_emprunt AND emprunt.id_dossier = dossier.id AND dossier.id_banque = ".$this->id;
		
			$resultat = mysql_query ($requete);
			
			while ($ligne = mysql_fetch_assoc($resultat)) {
				
				if(isset( $ligne['somme']))
					$somme = $ligne['somme'];
			}
		
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
		
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
		
		return $somme;	
	}
	
	public function getTotalCommissionBanque()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$somme = 0;

		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "SELECT SUM(commission_banque) as somme FROM comptabilite, dossier, emprunt  WHERE emprunt.id = comptabilite.id_emprunt AND emprunt.id_dossier = dossier.id AND dossier.id_banque = ".$this->id;
		
			$resultat = mysql_query ($requete);
			
			while ($ligne = mysql_fetch_assoc($resultat)) {
				
				if(isset( $ligne['somme']))
					$somme = $ligne['somme'];
			}
		
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
		
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
		
		return $somme;
	}
	
	public function getTotalMontantAssure()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$somme = 0;

		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "SELECT SUM(emprunt.montant) as somme FROM emprunt, dossier  WHERE emprunt.id_dossier = dossier.id AND dossier.id_banque = ".$this->id;
		
			$resultat = mysql_query ($requete);
			
			while ($ligne = mysql_fetch_assoc($resultat)) {
				
				if(isset( $ligne['somme']))
					$somme = $ligne['somme'];
			}
		
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
		
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
		
		return $somme;
	}
	
	public function getListDossier()
	{
		return Dossier::getListDossierByBanque($this->id);
	}
	
	public function getNbDossierEnDemande()
	{
		return Dossier::getNbDossierByBanqueAndStatutLastMonth($this->id, 0);
	}
	
	public function getNbDossierEnCour()
	{
		return Dossier::getNbDossierByBanqueAndStatutLastMonth($this->id, 1);
	}
	
	
	public function getNbDossierEmis()
	{
		return Dossier::getNbDossierByBanqueAndStatutLastMonth($this->id, 5);
	}
	
	
	
	
}



//$test = Banque::getBanqueByLoginAndPassword("cic","passcic");

//$test = new Banque("BNP", "23 rue de la bnp", "5675433", "bnp@bnp.com", "bnp", "passbnp");
//$test->saveBanque();

//$test = Banque::getListBanqueByKeyword("BN");



//$test[1]->mail = "jaichangerlemail@gmail.com";

//$test[1]->updateBanque();

//echo $test->mail;

?>